Skip to main content

Architecture

SyncNow Cluster

SyncNow can work scale and work with multiple app instances. This means, every app instance that is connected to the same database will work with other instances to process all synchronizations.

The main app instance node is responsible for several tasks, such as database maintenance, queue maintenance, and so on. Fetching of entities from work systems are done by specific app instances that are the set as fetchers for SyncProcess. After the fetch, all syncs are stored in a queue and processed, mapped and set to the target side by ll app instances, as every app instance takes records from the queue to process.

SyncNow Cluster

Database Connections

SyncNow works on SQL Server | PostgreSQL or and Internal Database. We recommend to use SQL Server or PostgreSQL for deployments with more than 5 Sync Processes. Ports and credentials can be configured from SyncNow appSettings file. The password of the database is encrypted when the server is restarted (if set from the appSettings file).

Load Balancer

Load balancer is needed in order for SyncNow to be highly available cluster. SyncNow supports HTTP or Network TCP load balancers.

App Configuration

SyncNow configuration app instance configuration is maintained in the appSettings.json file or can be set from environment variables.

Connecting Work Systems

SyncNow can connect with remote systems by querying them periodically or registering to webhooks when it is applicable. SyncNow registers and configures webhooks automatically when a Sync Process is activated. We recommend using webhooks since it only activates queries to source system when a change is done on the source system and not periodically.